/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package bomberman.model;

/**
 *
 * @author Administrator
 */
public abstract class Element extends TerminatableObject {
    public boolean hasPosition() {
        //TODO make
        return false;
    }

    public Position getPosition() {
        //TODO
        return null;
    }

    public void setPositionTo(Position pos) {

    }

    public void unsetPosition() {

    }

    public boolean canHaveAsPosition(Position pos) {
        //TODO
        return false;
    }

    public boolean hasProperPosition() {
        //TODO
        return false;
    }

    private void setPosition(Position pos) {

    }

    private Position

    public Board getBoard() {
        //TODO
        return null;
    }

    public void setBoardTo(Board board) {

    }

    public void unsetBoard() {

    }

    public boolean canHaveAsBoard(Board board) {
        //TODO
        return false;
    }

    public boolean hasBoard() {
        //TODO
        return false;
    }

    public boolean hasProperBoard() {
        //TODO
        return false;
    }

    private void setBoard(Board board) {

    }

    public abstract boolean canSharePositionWith(Element elm);

    public boolean canSharePositionWithCore(Element elm) {
        //TODO
        return false;
    }

    public abstract void getSharedWith(Element elm);

    @Override
    public void terminate() {
        
    }


}
